import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

public class Demo06WordCountJava {
    public static void main(String[] args) throws IOException {
        // 用Java代码是实现WordCount
        // 读文件
        BufferedReader br = new BufferedReader(new FileReader("Scala/data/words.txt"));
        String line;

        // 使用HashMap进行存储
        HashMap<String, Integer> wordCntMap = new HashMap<>();

        while ((line = br.readLine()) != null) {
            // 处理每一行数据
            // 按照分隔符切分 取出每一个单词
            String[] words = line.split(",");
            for (String word : words) {
                /**
                 * 判断每个单词word 在不在wordCntMap中
                 * 如果在 则value +1
                 * 如果不在 第一次取到 则value置为1
                 */
                if (wordCntMap.containsKey(word)) {
                    Integer originVal = wordCntMap.get(word);
                    wordCntMap.put(word, ++originVal);
                } else {
                    wordCntMap.put(word, 1);
                }
            }
        }
        // 将每个单词数量做一个打印
        for (Map.Entry<String, Integer> wordCnt : wordCntMap.entrySet()) {
            System.out.println(wordCnt.getKey() + "," + wordCnt.getValue());
        }
    }
}
